package ar.edu.ufasta.presupuestos.servicios.web;

/**
 * Factory estatico de comandos posibles del Sitio web de clientes
 * @author Carlos
 *
 */
public class StaticOperationFactory {

	private static StaticOperationFactory instancia;
	
	private StaticOperationFactory(){
	}
	
	public static StaticOperationFactory getInstancia(){
		if (instancia == null){
			instancia = new StaticOperationFactory();
		}
		return instancia;
	}
	
	public Protocol makeOperationCommand(Integer protocol, Integer commandCode){
		Protocol command = null;
		switch (commandCode) {
		case Constantes.PACK_LOGIN:
			command = new Login();
			break;
		case Constantes.PACK_LOGOUT:
			break;
		case Constantes.PACK_CONSULTA_CLIENTE:
			command = new InfoCliente();
			break;
		case Constantes.PACK_LISTA_PRESUPUESTO:
			command = new GetListaPresupuesto();
			break;
		case Constantes.PACK_CONSULTA_PRESUPUESTO:
			command = new InfoPresupuesto();
			break;
		case Constantes.PACK_APROVAR_PRESUPUESTO:
			command = new TransaccionPresupuestos();
			break;
		default:
			// Paquete desconocido			
			break;
		}
		return command;
	}
	
}
